package com.briup.MR.funMR;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * TODO
 *
 * @author 最美如初
 * @version 1.0
 * @date 2021/7/21
 * @description
 */
public class StringRegexTest {
    void test1(){
        String str="i am a student 2311 come form suzhou22";
        String reg="^i.*\\d{4}.*[0-9]$";
        boolean Flag= Pattern.matches(reg,str);
        System.out.println(Flag);
    }
    void test2(){
        //判断字符串是否符合正则表达式
        String str="iamastudent22";
        String reg="[a-z]*[0-9]{2,}$";
        boolean flag= Pattern.matches(reg,str);
        System.out.println(flag);
    }

    public static void main(String[] args) {
        //new StringRegexTest().test1();
        new StringRegexTest().test2();
          /*
        列出符合正则的每一个部分
        */
        String str="hello123test2321test";
        //获取指定部分正则内容，用（）划组
        String reg="(\\D*)(\\d*)(\\D*)(\\d*)(\\D*)";
        //String reg1="(\\D*\\d*)(\\D*\\d*)(\\D*)";
        //编译正则
        Pattern p=Pattern.compile(reg);
        //用正则和字符串匹配
        Matcher m=p.matcher(str);
        //m.find()找出匹配的内容，存在true
        while(m.find()){
            //group中指定为0 表示取所有匹配的数据
            System.out.println(m.group(0));
            //group 指定从1开始表示取出指定的组数据
            //1表示取第一组，2表示取第二组。。。
            System.out.println(m.group(1));
            System.out.println(m.group(2));
            System.out.println(m.group(3));
            System.out.println(m.group(4));
            System.out.println(m.group(5));
        }

    }
}
